package com.han.fu.api.business.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.han.fu.api.business.entity.News;
import com.han.fu.api.business.model.ao.*;
import com.han.fu.api.business.model.vo.NewsBrowseVo;
import com.han.fu.api.business.model.vo.NewsInfoVo;
import com.han.fu.api.business.model.vo.NewsVo;

/**
 * 新闻service接口
 *
 * @author star
 * @date 2021-08-05
 */
public interface INewsService extends IService<News> {

    /**
     * 新闻分页查询
     *
     * @param ao 分页查询条件
     * @return Page<NewsVo> 分页数据
     */
    Page<NewsVo> queryNewsPage(NewsPageAo ao);

    /**
     * 新闻明细查询
     *
     * @param id 明细ID
     * @return NewsInfoVo 明细
     */
    NewsInfoVo queryNewsDetail(String id);

    /**
     * 新闻新增数据
     *
     * @param ao 数据
     */
    void addNews(NewsAddAo ao);

    /**
     * 新闻修改数据
     *
     * @param ao 数据
     */
    void updateNews(NewsUpdateAo ao);

    /**
     * 新闻删除数据
     *
     * @param ao 数据
     */
    void deleteNews(NewsDeleteAo ao);

    /**
     * 新闻审批数据
     *
     * @param ao 数据
     */
    void auditNews(NewsAuditAo ao);

    /**
     * 新闻分页查询(用户端使用)
     *
     * @param ao 分页查询条件
     * @return Page<NewsBrowseVo> 分页数据
     */
    Page<NewsBrowseVo> queryBrowsePage(NewsBrowseAo ao);

}